<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<script>
//     function foo() {  
//   this.name = 'foo'
//   this.sayHi = function () {    
//      console.log('Say Hi')
//   }
// }
 
// foo.prototype.sayGoodBy = function () {  
//   console.log('Say Good By')
// }
 
// let myPro = new foo()
// console.log(myPro.name) // foo
// console.log(myPro.hasOwnProperty('name')) // true
// console.log(myPro.hasOwnProperty('toString')) // false
// console.log(myPro.hasOwnProperty('hasOwnProperty')) // fasle
// console.log(myPro.hasOwnProperty('sayHi')) // true
// console.log(myPro.hasOwnProperty('sayGoodBy')) // false
// console.log('sayGoodBy' in myPro) // true


        // var foo = { 
        // hasOwnProperty: function() { 
        //     return false; 
        //     }, 
        //     bar: 'Here be dragons' 
        // }; 
        
        // foo.hasOwnProperty('bar'); // 总是返回 false 
        // // 使用另一个 hasOwnProperty 并将 this 设置为 foo 来调用它 
        // Object.prototype.hasOwnProperty.call(foo, 'bar'); // true

        var obj = Object.create(null)
        console.log(obj)
</script>
<body>
    
</body>
</html>